home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
apps
/
298
/
dbman.tut
/
dbmanrev.txt
next >
Wrap
Text File
|
1989-05-28
|
13KB
|
257 lines
dBMAN by Versasoft
An Initial Review by John C. Leon
May 29, 1986
edited August 18, 1986
distributed through the H.A.S.T.E. BBS
Houston Atari ST Enthusiasts 713-955-9532
permission granted to distribute unaltered original text
It is very difficult for me to evaluate a complicated piece of
software like this in a brief "memo" form of review. I regret
not having had time to put dBMAN through all its paces before
reporting to you, but we thought you deserved a quick opinion of
this relational database program.
Let's talk a sec about relational databases. Those of you
coming straight from the 8-bit Atari world without experience on
other machines have never seen a relational database, as the
8-bit Atari had none available for it! Products like Data
Perfect and Synfile+ are known as file managers. This means
that they can only work on one file at a time. They are also
inflexible (tho Data Perfect I consider to be quite powerful) in
that the built-in functions are all you've got. You can't
program a data manipulation routine of your own.
Relational databases are an entirely new ballgame. CP/M and
MS-DOS users have had dBASE, dBASE compilers like Clipper, RBASE
5000, Paradox, and a host of similar products for quite some
time. The relational databases have two primary characteristics
that separate them from the file managers.
First, the capacity to work on numerous "open" files
simultaneously. Imagine an inventory file, a purchases file,
and a sales file. You take your purchases, increase your
inventory based on purchases, record sales, and then reduce your
inventory based on sales. That's three integrated files.
Purchases and sales are used to update inventory. Here's
another example. If you recorded your customer names and
addresses every time you made a sale, then numerous entries in
the sales file would have redundant information! Why not just
use a customer NUMBER, and have a separate customer file where
you stored the customer number, along with the customer names
and addresses? In this way, you could update for a change of
address merely by updating the customer file, and not have to
search your entire sales file, changing the address on each sale
to that customer. Preparing invoices is as simple as relating
the customer file to the sales file, extracting name and address
info from the customer file, and sales to each customer from the
dBMAN by Versasoft - 1 - An Initial Review
sales file. The linking element between the files is the
customer number. This is the stuff of relational databases,
where you normalize your data to eliminate redundancies, and
relate files easily for total freedom in data manipulation.
The second distinction that any relational database has over
file managers is its PROGRAMMABILITY. The more complex
applications you may wish to design would require typing
numerous commands at the keyboard to accomplish even the
simplest tasks. These same commands can be programmed, saved in
a COMMAND file, to automate such tasks. Think of such programs
as super macros, where the computer executes your stored
commands in sequences you design, to facilitate the running of
your system. Many people make a living out of designing turnkey
database systems for business (offices, banks, stores, etc). In
fact, these database languages are so refined that they actually
belong in a legitimate class of their own as programming
languages! With the utilities around these days, you could use
any text editor to write a dBASE system, compile it, and have it
run as a separate stand-alone package, without ever even having
owned the actual database itself! There are no dBMAN compilers
per se, but you do use an outside editor to compose programs,
and can run your programs with the runtime package available
separately from Versasoft. In other words, you can supply dBMAN
custom programs to be run under the runtime package. Your
customers do not have to own dBMAN!
The IBM version of dBMAN sells for $295. The ST version lists
for $149.95. It is identical to the IBM version. This is a
very fair price in my opinion. I would not hesitate to
recommend dBMAN to anyone wanting an incredibly useful tool for
data management.
The product itself is delivered on two single-sided disks,
unprotected. One disk is the dBMAN interpreter itself with
related files. The other is a snappy little tutorial disk, that
gets you going with the rudiments of using dBMAN. The tutorial
disk also includes some sample dBMAN command files for mailing
list management. I ignored them in favor of writing my own for
the sake of flexibility, and as an exercise, but they will give
you the flavor of programming. By all means, print out the
command files on this tutorial disk. Read through them. Study
the processes and logic involved. This is a great way to
learn!
The dBMAN package is an attractive grey slipcase, inside which
is the hardcover 3-ring binder holding the documentation. Ah,
the documentation. It's not the best. I found it sketchy on
details regarding command syntax. This product is definitely
not dBASE compatible, I assure you, though everywhere you read
that it is. You can use a dBMAN command to CONVERT a dBASE data
file to dBMAN format, but the programming languages are SIMILAR,
not compatible. For example, in dBASE, the command to delete a
dBMAN by Versasoft - 2 - An Initial Review
file is "ERASE". In dBMAN, the "ERASE" command merely clears
the screen! There are numerous other differences in the
language, but they are similar enough so that you would benefit
from buying a dBASE III programming book at a bookstore and
studying it a little to get the hang of things. If you are a
novice, you will not be able to dive into dBMAN programming
without a substantial investment in man-hours spent deciphering
the documentation. Although the manual is accurate, it is not
as complete as it could be, and does not have the best
organization. I remember looking hard to find the operator that
would allow me to chain a command line over more than one line.
It was buried in a section of the manual titled "File Types"!!!
There is no "LABEL" command. This means that you will have to
write your own label maker programs. Label programs are among
the simplest to write, so this is no big loss in my view.
There is no text editor built into the product. Please note
that using the product from command level does not require an
editor. You simply enter commands one after the other. It's
the programming that requires an outside editor. This can mean
constant loading of your editor, then dBMAN, exiting, re-loading
your editor, composing code, re-loading dBMAN, etc. I use a
simple technique to simplify things. On my 1-meg 520ST I create
a 550K ramdisk with Solapak, copy the editor files and DBMAN.TTP
to the ramdisk with Solapak's COPY2RAM program, and work out of
the ramdisk. My data and program files are on a floppy.
Switching between dBMAN and an editor is a breeze when done at
the speed of a ramdisk.
Be careful in your choice of an editor. It must be capable of
producing pure ASCII files. I used Final Word exclusively until
I started using "procedures" in my programs. There was never
any prior indication of trouble, but using the SET PROCEDURE TO
command in any command files created with the Final Word caused
dBMAN to crash to the desktop. This problem gave me countless
hours of grief until, on a lark, I loaded my procedure file into
Regent Word. Lo and behold, the last byte in the file appeared
on my screen as a non-ASCII character. When I had called
Versasoft for help, one of the questions they had asked me was
if I was certain the file contained only ASCII characters. When
you save a Final Word file, it puts an odd character (a
non-ASCII character) at its end as an end-of-file marker. This
is all it took to bomb my dBMAN programs. It was a hard problem
to troubleshoot, as that darn non-ASCII character does not
appear on your screen in the Final Word. I now use another
editor for dBMAN programming.
Remember one command above all others: SET TALK OFF. If you
run a program and don't include that statement, each line of
your code will be reflected onscreen in the command line (a
reserved area at the top of the screen). This can be a help in
the debugging stages, but slows down execution to a snail's
dBMAN by Versasoft - 3 - An Initial Review
pace. My club membership list program runs in seconds with talk
off, but with talk on it can take 15 minutes!
The "@SAY--GET" commands don't permit a "RANGE" clause,
leaving it up to you to hack data input validation. This can be
done with a sprinkling of IF commands, CASE structures, or other
techniques. It can also be done with a GETFILE structure. The
GETFILE is called at the level of the program that called it, so
local variables are available to the GETFILE. You can do almost
anything you want in a GETFILE, but the primary use would be to
contain the code to validate the input a user may be typing when
using your application. There are provisions for PICTURE
clauses.
There are also some nifty commands for formatting menus
(VMENU, HMENU, BOX, etc.) but I have not tested them yet.
dBMAN does not use GEM at all, so forget about using a mouse for
anything.
Support? The manual states that Versasoft will try to respond
to any written inquiries but must charge for telephone support
at the rate of $25 for 6 calls of up to 5 minutes each.
Sheesh.
I hope this narrative is helpful to would-be purchasers. I
highly recommend the product. It works, appears to work well,
and is virtually alone in the ST software world. Nothing but
H&D Base comes close to its versatility and power, but whether
Mirage will survive to support H&D Base is anybody's guess. Do
yourself a favor. Buy almost any book on dBASE III before you
novices get into dBMAN programming. You won't regret the extra
expense!
If you have questions or need some help, leave public messages
to SYSOP (that's me!) on the H.A.S.T.E. BBS. Myself or one of
the other dBMAN fanatics will respond. I would like to see the
club develop a series of articles to supplement the program
documentation. Sophisticated products like these, being sold to
as new a market as most of us ST'ers represent, almost require
such user support. Contact me anytime at the HASTE BBS,
713-955-9532, 24 hours, 300/1200/2400 baud.
dBMAN by Versasoft - 4 - An Initial Review